home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 11 - 1995 / 11.02 Feb 95 / Yenta / Erics C++ Libraries / PPC Classes / CPPReadTask.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-04-04  |  1.1 KB  |  51 lines  |  [TEXT/KAHL]

  1. /********************************************************* DEFINITION
  2.     DATE:    9/17/93
  3.     AUTHOR: Eric R. Rosé
  4.  
  5.     CLASS:  CReadTask
  6.     
  7.     SUPERCLASS: CPeriodicTask
  8.     
  9.         This C++ class lets you read data asynchronously through a 
  10.         PPC connection.
  11.     
  12. ********************************************************************/
  13.  
  14. #pragma once
  15.  
  16. #include <PPCToolBox.h>
  17. #include <CPPPeriodicTask.h>
  18.  
  19. class CPPTaskManager;
  20.  
  21. class CPPReadTask : public CPPPeriodicTask {
  22.  
  23. public:
  24.                     CPPReadTask (CPPTaskManager *TaskManager,
  25.                                  long minPeriod = 120,
  26.                                  Boolean deleteWhenDone = TRUE);
  27.                     ~CPPReadTask (void);
  28.     virtual    char *ClassName (void);
  29.     
  30.     void            GetDataInfo (long *dataLen, OSType *type, OSType *creator);
  31.     Handle            GetData (Boolean BecomeOwner, Boolean *AmITheOwner);
  32.     
  33.     virtual    void    DoPeriodicAction (void);
  34.     virtual    void    DoCompletedAction (void);
  35.         
  36.     void            StartReadTask (PPCSessRefNum ConnectionID, short blockSize,
  37.                                    CompletionProc DoProc);
  38. protected:
  39.     PPCSessRefNum    sessionID;
  40.     
  41. private:
  42.     short            blockSize;
  43.     Ptr                readBuffer;
  44.     Handle            returnData;
  45.     short            totalSize;
  46.     Boolean            ownsData;
  47.     PPCReadPBPtr    readPBPtr;
  48.     OSType            blockCreator,
  49.                     blockType;
  50. };
  51.